#include "../../es_data.hpp"

//    #pragma db unique type("VARCHAR(63)")
//         std::string _user_id;       //用户id
//         #pragma db unique type("VARCHAR(127)")
//         odb::nullable<std::string> _nick_name;     //用户昵称
//         #pragma db unique type("VARCHAR(20)")
//         odb::nullable<std::string> _phone_number;  //用户手机号码
//         #pragma db type("VARCHAR(255)")
//         odb::nullable<std::string> _description;   //用户个性签名
//         #pragma db type("VARCHAR(63)")    
//         odb::nullable<std::string> _avatar_id;     //头像id

// int main()
// {
//     InitLog(false);
//     auto client = xu::ESClientFactory::Create({"http://127.0.0.1:9200/"});
//     xu::ESUser es_user(client);
    // if(es_user.CreateIndex() == false)
    // {
    //     return -1;
    // }

    // xu::User user1;
    // user1.user_id("0001");
    // user1.nick_name("zhangsan");
    // user1.phone_number("123456");
    // user1.description("666");
    // user1.avatar_id("0001");

    // xu::User user2;
    // user2.user_id("0002");
    // user2.nick_name("lisi");
    // user2.phone_number("12345678");
    // user2.description("666");
    // user2.avatar_id("0002");

    // if(es_user.Insert(user1) == false)  return -1;
    // if(es_user.Insert(user2) == false)  return -1;

//     auto res = es_user.Search({"0001"});
//     int sz = res.size();
//     LOG_DEBUG("检索结果条目数量：{}", sz);
//     for (int i = 0; i < sz; i++) {
//         LOG_INFO("user_id: {}", res[i]["_source"]["user_id"].asString());
//         LOG_INFO("nick_name: {}", res[i]["_source"]["nick_name"].asString());
//         LOG_INFO("phone_number: {}", res[i]["_source"]["phone_number"].asString());
//         LOG_INFO("description: {}", res[i]["_source"]["description"].asString());
//         LOG_INFO("avatar_id: {}", res[i]["_source"]["avatar_id"].asString());
//     }

//     return 0;
// }

int main()
{
    InitLog(false);
    auto client = xu::ESClientFactory::Create({"http://127.0.0.1:9200/"});
    xu::ESMessage es_msg(client);
    // es_msg.Insert("用户id1","消息id1",1751960224,"会话id1","吃饭了么？");
    // es_msg.Insert("用户id2","消息id2",1751960244,"会话id1","吃的盖浇饭");
    // es_msg.Insert("用户id3","消息id3",1751960324,"会话id2","昨天吃饭了么？");
    // es_msg.Insert("用户id4","消息id4",1751960424,"会话id2","昨天吃的盖浇饭");
    //es_msg.Remove("消息id1");
    auto res = es_msg.Search("盖浇", "会话id1");
    for(auto &e : res)
    {
        std::cout<<e.message_id()<<std::endl;
        std::cout<<e.from_user_id()<<std::endl;
        std::cout<<e.to_session_id()<<std::endl;

    }

    return 0;
}